﻿#define _CRT_SECURE_NO_WARNINGS
//
//#include <stdio.h>
//int main()
//{
//	int a = 10000;
//	//以二进制写的方式打开
//	FILE* pf = fopen("test.txt", "wb");
//	//⼆进制的形式写到⽂件中
//	fwrite(&a, 4, 1, pf);
//	//关闭文件
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}
//
//struct _iobuf {
//	char* _ptr;
//	int _cnt;
//	char* _base;
//	int _flag;
//	int _file;
//	int _charbuf;
//	int _bufsiz;
//	char* _tmpfname;
//};
//
//typedef struct _iobuf FILE;
//
//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char ch = fgetc(pf);
//	printf("%c", ch);
//  fclose(pf);
//  pf = NULL;
//	return 0;
//}
//
//

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char ch = 0;
//	while ((ch = fgetc(pf)) != EOF)
//	{
//		printf("%c", ch);
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char ch = 0;
//	fputc('x', pf);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char arr[20] = { 0 };
//	while (fgets(arr, 20, pf))
//	{
//		printf("%s", arr);
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char arr[20] = "hello world!";
//	fputs(arr, pf);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	int i = 0;
//	char arr[20] = { 0 };
//	fscanf(pf, "%d %s", &i, arr);
//	printf("%d %s", i, arr);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	float f = 3.14f;
//	char arr[20] = "world";
//	fprintf(pf, "%s %f", arr, f);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "wb");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	int arr[] = { 1,2,3,4,5 };
//	fwrite(arr, sizeof(arr[0]), 5, pf);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "rb");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	int arr[5] = { 0 };
//	fread(arr, sizeof(int), 5, pf);
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	FILE* pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	fputs("This is an apple.", pf);
//	fseek(pf, 9, SEEK_SET);
//	fputs(" book", pf);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}
//
//#include <stdio.h>
//int main()
//{
//	long size;
//	FILE* pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	
//	fseek(pf, 0, SEEK_END); 
//	size = ftell(pf);
//	fclose(pf);
//	printf("Size of test.txt: %ld bytes.\n", size);
//	pf = NULL;
//	return 0;
//}

#include <stdio.h>
int main()
{
	int n;
	char buffer[27];
	FILE* pf = fopen("test.txt", "w+");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	for (n = 'A'; n <= 'Z'; n++)
	{
		fputc(n, pf);
	}
	rewind(pf);
	fread(buffer, 1, 26, pf);
	fclose(pf);
	pf = NULL;
	buffer[26] = '\0';
	printf(buffer);
	return 0;
}

//#include <stdio.h>
//
//int main()
//{
//	char arr[20];
//	FILE* pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	fgets(arr, 20, pf);
//	printf("%s\n", arr);
//	if (feof(pf))
//	{
//		printf("文件正常读取结束\n");
//	}
//	if (ferror(pf))
//	{
//		printf("文件错误读取结束\n");
//		perror("读取失败原因");
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}